perm filename PUP1B.PAL[11,HE] blob
sn#656317 filedate 1982-04-29 generic text, type T, neo UTF8
; Copyright Xerox Corporation 1979
.TITLE PUP1B
; PUP1B -- PUP LEVEL 1
.CSECT GLOBAL
G=.
.CSECT
; ENTRY POINT TO PUPLEVEL1
LA1:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
LA23:
CLR -2.(0)
CLR -4.(0)
CLR -6.(0)
CLR -8.(0)
CLR -10.(0)
CLR -12.(0)
LA24:
BR LA26
LA25:
MOV G+386.,%1
JSR %7,@G+232.
000016
MOV %1,-2.(0)
MOV -2.(0),%1
JSR %7,@G+306.
000016
LA26:
MOV G+386.,%1
ASL %1
TST (1)
BNE LA25
MOV G+384.,%1
JSR %7,@G+232.
000016
MOV %1,-2.(0)
TST -2.(0)
BEQ LA27
BR LA28
LA27:
JSR %7,@G+254.
000016
BR LA24
LA28:
MOV -2.(0),%1
ASL %1
MOV G+386.,2.(1)
MOV -2.(0),%1
ASL %1
CLR 4.(1)
MOV -2.(0),%1
ASL %1
CLR 8.(1)
MOV -2.(0),%1
ASL %1
MOV 32.(1),%1
BIC #177400,%1
TST %1
BNE LA29
MOV -2.(0),%1
JSR %7,@G+306.
000016
BR LA23
LA29:
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
CLRB %1
SWAB %1
MOV %1,-4.(0)
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
BIC #177400,%1
MOV %1,-6.(0)
MOV -2.(0),%1
ASL %1
MOV 6.(1),-8.(0)
CLR %3
MOV -4.(0),%2
MOV G+414.,%1
JSR %7,@G+342.
000016
MOV %1,-10.(0)
TST -4.(0)
BEQ LA30
MOV -8.(0),%1
ASL %1
BR LA999
LA22:
JMP MA22
LA999:
TST 2.(1)
BEQ LA30
TST -10.(0)
BEQ LA31
MOV -10.(0),%1
ASL %1
MOV 2.(1),%1
BIC #100377,%1
TST %1
BNE LA33
MOV -10.(0),%1
ASL %1
MOV 4.(1),-8.(0)
BR LA34
LA33:
MOV -2.(0),%2
MOV G+390.,%1
JSR %7,@G+230.
000016
JMP LA23
LA34:
BR LA32
LA31:
MOV #LA998,%1
CLC
ROR %1
MOV #177777,%4
MOV %1,%3
MOV #001002,%2
MOV -2.(0),%1
JSR %7,@LA7
000016
JMP LA23
LA32:
LA30:
MOV -8.(0),%1
ASL %1
CMP 4.(1),-6.(0)
BEQ LA35
TST -6.(0)
BEQ LA35
MOV -2.(0),%2
MOV G+390.,%1
JSR %7,@G+230.
000016
JMP LA23
LA35:
MOV G+388.,%1
ASL %1
MOV (1),-12.(0)
LA36:
TST -12.(0)
BNE LA37
MOV -2.(0),%1
JSR %7,@LA3
000016
BR LA38
LA37:
MOV #000016,%1
ADD -2.(0),%1
ASL %1
MOV #000006,%2
ADD -12.(0),%2
ASL %2
CMP (1),(2)
BNE LA39
MOV #000016,%1
INC %1
ADD -2.(0),%1
ASL %1
MOV #000006,%2
INC %2
ADD -12.(0),%2
ASL %2
CMP (1),(2)
BNE LA39
MOV -12.(0),%1
ASL %1
TST 8.(1)
BEQ LA40
TST #100000
BEQ LA40
MOV -2.(0),%1
ASL %1
MOV 18.(1),%1
DEC %1
CLC
ROR %1
ADD #000011,%1
ADD -2.(0),%1
ASL %1
MOV (1),-14.(0)
CMP #177777,-14.(0)
BEQ LA41
MOV -2.(0),%1
ADD #000011,%1
JSR %7,@G+322.
000020
CMP %1,-14.(0)
BEQ LA41
MOV #LA997,%1
CLC
ROR %1
MOV %1,%3
MOV #000001,%2
MOV -2.(0),%1
JSR %7,@LA7
000020
BR LA38
LA41:
LA40:
MOV -8.(0),%1
ASL %1
TST 2.(1)
BNE LA42
TST -4.(0)
BEQ LA42
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
ASL %1
MOV -4.(0),2.(1)
MOV -4.(0),%2
MOV G+414.,%1
JSR %7,@G+344.
000016
MOV %1,-10.(0)
MOV -10.(0),%1
ASL %1
MOV -8.(0),4.(1)
MOV -8.(0),%1
ASL %1
MOV -10.(0),%2
ASL %2
MOV 4.(1),2.(2)
LA42:
BR LA996
LA38:
JMP MA38
LA39:
JMP MA39
LA996:
MOV -2.(0),%1
JSR %7,@LA5
000016
MOV -12.(0),%1
ASL %1
MOV 4.(1),%1
BIC #177400,%1
TST %1
BEQ LA44
MOV -12.(0),%1
ASL %1
MOV 2.(1),%1
BIC #177400,%1
TST %1
BNE LA43
LA44:
MOV #LA995,%1
CLC
ROR %1
MOV %1,%3
MOV #000003,%2
MOV -2.(0),%1
JSR %7,@LA7
000016
BR LA38
LA43:
MOV -12.(0),%1
ASL %1
MOV 4.(1),%1
DEC %1
MOV -12.(0),%2
ASL %2
MOV %1,4.(2)
MOV -12.(0),%1
ASL %1
MOV 2.(1),%1
DEC %1
MOV -12.(0),%2
ASL %2
MOV %1,2.(2)
MOV -2.(0),%1
ASL %1
MOV 8.(1),%1
BIS #100000,%1
MOV -2.(0),%2
ASL %2
MOV %1,8.(2)
MOV -2.(0),%1
ASL %1
MOV -12.(0),4.(1)
MOV -12.(0),%1
ADD #000013,%1
MOV -2.(0),%2
JSR %7,@G+230.
000016
BR LA38
MA39:
MOV -12.(0),%1
ASL %1
MOV (1),-12.(0)
JMP LA36
MA38:
JMP LA23
; ENTRY POINT TO SOCKETNOTFOUND
LA2:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV #LA994,%1
CLC
ROR %1
MOV %1,%3
MOV #000002,%2
MOV -2.(0),%1
JSR %7,@LA7
000004
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO FILLINNETS
LA4:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
BIC #000377,%1
TST %1
BNE LA45
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -2.(0),%2
ASL %2
MOV 26.(2),%2
BIC #177400,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,26.(2)
LA45:
MOV -2.(0),%1
ASL %1
MOV 32.(1),%1
BIC #000377,%1
TST %1
BNE LA46
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -2.(0),%2
ASL %2
MOV 32.(2),%2
BIC #177400,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,32.(2)
LA46:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO PUPERROR
LA6:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV %3,-(5)
MOV %4,-(5)
MOV -2.(0),%1
JSR %7,@G+306.
000012
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO COMPLETEPUP
LA8:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV %3,-(5)
MOV -2.(0),%1
ASL %1
MOV 4.(1),-8.(0)
CLR -10.(0)
TST -4.(0)
BEQ LA47
MOV -2.(0),%1
ASL %1
MOV 20.(1),%1
BIC #000377,%1
ADD -4.(0),%1
MOV -2.(0),%2
ASL %2
MOV %1,20.(2)
LA47:
TST -6.(0)
BEQ LA48
MOV -2.(0),%1
ASL %1
MOV -6.(0),18.(1)
LA48:
TST -8.(0)
BEQ LA49
MOV -2.(0),%1
ADD #000015,%1
MOV -8.(0),%2
ADD #000010,%2
JSR %7,@LA12
000014
MOV -2.(0),%1
ADD #000020,%1
MOV -8.(0),%2
ADD #000005,%2
JSR %7,@LA12
000014
LA49:
MOV -2.(0),%1
ASL %1
MOV 20.(1),%1
BIC #177400,%1
MOV -2.(0),%2
ASL %2
MOV %1,20.(2)
MOV -2.(0),%1
ASL %1
TST 8.(1)
BEQ LA50
TST #040000
BEQ LA50
MOV G+380.,%1
ASL %1
MOV (1),%2
MOV -2.(0),%1
JSR %7,@G+318.
000014
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
LA50:
MOV -2.(0),%1
JSR %7,@G+320.
000014
MOV -2.(0),%1
JSR %7,@LA10
000014
MOV %1,-10.(0)
MOV -2.(0),%1
ASL %1
TST 6.(1)
BEQ LA51
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
ASL %1
MOV -10.(0),%2
MOV 20.(1),-20.(0)
MOV -2.(0),%1
JSR %7,@-20.(0)
000014
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
ASL %1
MOV 22.(1),-18.(0)
MOV -2.(0),%1
JSR %7,@-18.(0)
000014
BR LA52
LA51:
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
CLRB %1
SWAB %1
MOV %1,G+416.
MOV -2.(0),%1
ASL %1
MOV -2.(0),%2
MOV 2.(1),%1
JSR %7,@G+230.
000014
LA52:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO ROUTEPUP
LA9:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
CLRB %1
SWAB %1
CLR %3
MOV %1,%2
MOV G+414.,%1
JSR %7,@G+342.
000004
MOV %1,-4.(0)
TST -4.(0)
BEQ LA54
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
BIC #100377,%1
CLRB %1
SWAB %1
CMP %1,#000017
BGT LA54
MOV -4.(0),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV 4.(1),6.(2)
BR LA55
LA54:
MOV -2.(0),%1
ASL %1
CLR 6.(1)
LA55:
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
BIC #100377,%1
TST %1
BNE LA56
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
BIC #177400,%1
BR LA53
LA56:
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
BIC #177400,%1
BR LA53
LA57:
LA53:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO DEFAULTPORT
LA11:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -2.(0),%1
ASL %1
MOV (1),%1
BIC #000377,%1
TST %1
BNE LA58
MOV -4.(0),%1
ASL %1
MOV (1),%1
BIC #000377,%1
TST %1
BNE LA59
MOV -4.(0),%1
ASL %1
MOV (1),%1
BIC #177400,%1
TST %1
BEQ LA59
MOV G+380.,%1
ASL %1
MOV (1),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -4.(0),%2
ASL %2
MOV (2),%2
BIC #177400,%2
ADD %2,%1
MOV -4.(0),%2
ASL %2
MOV %1,(2)
LA59:
MOV -4.(0),%1
ASL %1
MOV (1),%1
BIC #000377,%1
MOV -2.(0),%2
ASL %2
MOV (2),%2
BIC #177400,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,(2)
LA58:
MOV -2.(0),%1
ASL %1
MOV (1),%1
BIC #177400,%1
TST %1
BNE LA60
MOV -4.(0),%1
ASL %1
MOV (1),%1
BIC #177400,%1
MOV -2.(0),%2
ASL %2
MOV (2),%2
BIC #000377,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,(2)
LA60:
MOV -2.(0),%1
ASL %1
TST 2.(1)
BNE LA61
MOV -2.(0),%1
ASL %1
TST 4.(1)
BNE LA61
MOV -4.(0),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV 2.(1),2.(2)
MOV -4.(0),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV 4.(1),4.(2)
LA61:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO EXCHANGEPORTS
LA13:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ADD #000015,%1
MOV %1,-4.(0)
MOV -2.(0),%1
ADD #000020,%1
MOV %1,-6.(0)
MOV #000003,%1
DEC %1
CLR -8.(0)
MOV %1,-10.(0)
BR LA62
LA63:
MOV -8.(0),%1
ADD -4.(0),%1
ASL %1
MOV (1),-12.(0)
MOV -8.(0),%1
ADD -6.(0),%1
ASL %1
MOV -8.(0),%2
ADD -4.(0),%2
ASL %2
MOV (1),(2)
MOV -8.(0),%1
ADD -6.(0),%1
ASL %1
MOV -12.(0),(1)
INC -8.(0)
LA62:
CMP -8.(0),-10.(0)
BLE LA63
MOV -2.(0),%1
ASL %1
MOV 32.(1),%1
BIC #177400,%1
TST %1
BNE LA64
MOV -2.(0),%1
ASL %1
MOV 32.(1),%1
CLRB %1
SWAB %1
CLR %3
MOV %1,%2
MOV G+414.,%1
JSR %7,@G+342.
000010
MOV %1,-8.(0)
MOV -8.(0),%1
ASL %1
MOV 4.(1),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV 32.(2),%2
BIC #000377,%2
MOV 4.(1),%1
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,32.(2)
LA64:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETPUPDPORT
LA15:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -2.(0),%1
ADD #000015,%1
MOV #000003,%3
MOV -4.(0),%2
JSR %7,@G+200.
000006
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETPUPSPORT
LA16:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -2.(0),%1
ADD #000020,%1
MOV #000003,%3
MOV -4.(0),%2
JSR %7,@G+200.
000006
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETPUPID
LA17:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -4.(0),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV (1),22.(2)
MOV -4.(0),%1
ASL %1
MOV -2.(0),%2
ASL %2
MOV 2.(1),24.(2)
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETPUPCHECKSUM
LA19:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ASL %1
TST 4.(1)
BEQ LA67
MOV -2.(0),%1
ASL %1
MOV 4.(1),%1
ASL %1
MOV 8.(1),%1
BIC #077777,%1
TST %1
BEQ LA65
LA67:
MOV -2.(0),%1
ADD #000011,%1
JSR %7,@G+322.
000004
MOV -2.(0),%2
ASL %2
MOV 18.(2),%2
DEC %2
CLC
ROR %2
ADD #000011,%2
ADD -2.(0),%2
ASL %2
MOV %1,(2)
BR LA66
LA65:
MOV -2.(0),%1
ASL %1
MOV 18.(1),%1
DEC %1
CLC
ROR %1
ADD #000011,%1
ADD -2.(0),%1
ASL %1
MOV #177777,(1)
LA66:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO RELEASEPBI
LA20:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%1
ASL %1
MOV 4.(1),-4.(0)
TST -4.(0)
BEQ LA68
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
INC %1
MOV -4.(0),%2
ASL %2
MOV %1,2.(2)
MOV -2.(0),%1
ASL %1
TST 8.(1)
BEQ LA69
TST #100000
BEQ LA69
MOV -4.(0),%1
ASL %1
MOV 4.(1),%1
INC %1
MOV -4.(0),%2
ASL %2
MOV %1,4.(2)
BR LA70
LA69:
MOV -4.(0),%1
ASL %1
MOV 6.(1),%1
INC %1
MOV -4.(0),%2
ASL %2
MOV %1,6.(2)
LA70:
LA68:
MOV -2.(0),%2
MOV G+382.,%1
JSR %7,@G+230.
000006
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO GETPBI
LA21:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
CLR -6.(0)
LA72:
MOV -2.(0),%1
ASL %1
MOV 2.(1),%1
BIC #177400,%1
TST %1
BLE LA73
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
BIC #177400,%1
TST %1
BLE LA73
MOV G+382.,%1
JSR %7,@G+232.
000010
MOV %1,-6.(0)
TST -6.(0)
BEQ LA74
BR LA75
LA74:
LA73:
TST -4.(0)
BEQ LA76
CLR %1
BR LA71
LA76:
JSR %7,@G+254.
000010
BR LA72
LA75:
MOV -2.(0),%1
ASL %1
MOV 2.(1),%1
DEC %1
MOV -2.(0),%2
ASL %2
MOV %1,2.(2)
MOV -2.(0),%1
ASL %1
MOV 6.(1),%1
DEC %1
MOV -2.(0),%2
ASL %2
MOV %1,6.(2)
MOV #000011,%1
ADD #000013,%1
MOV %1,%2
MOV -6.(0),%1
JSR %7,@G+202.
000010
MOV -6.(0),%1
ASL %1
MOV -2.(0),4.(1)
MOV -6.(0),%1
ASL %1
MOV G+386.,2.(1)
MOV -6.(0),%1
BR LA71
LA71:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
MA22:
.CSECT GLOBAL
.=G+316.
LA1
.=G+314.
LA8
.=G+310.
LA15
.=G+312.
LA16
.=G+320.
LA19
.=G+306.
LA20
.=G+304.
LA21
.CSECT
LA3:
LA2
LA5:
LA4
LA7:
LA6
LA10:
LA9
LA12:
LA11
LA14:
LA13
LA18:
LA17
LA998:
041431
047101
052047
043440
052105
052040
042510
042522
043040
047522
020115
042510
042522
LA997:
041014
042101
041440
042510
045503
052523
000115
LA995:
050014
051117
020124
050511
043040
046125
000114
LA994:
047014
020117
052523
044103
050040
051117
000124
.END